Unit testing is a method in which individual units of source code, for example computer program modules such as functions, procedures, and methods, together with associated control data, usage procedures, and operating procedures, are tested to determine if the units of source code meet design requirements and can be approved for use. Unit testing typically uses code coverage measurements to quantify the quality of unit tests. Code coverage is a measurement used to describe a degree to which source code of a software program is tested by a particular unit test of a test suite. A software program with high code coverage ratio can be considered to have been more thoroughly tested and has a lower chance of containing software bugs than a program with a low code coverage ratio. Many different metrics can be used to calculate code coverage; some of the most basic are the percent of program units and the percent of program statements per program unit called during execution of the test suite. However, code coverage measurements do not provide any additional measurements regarding the quality of the unit test. Even if a unit test has a high code coverage ratio, the unit test can still be a poor indicator of the unit test quality. With poor quality unit tests, tested software units may be released with incorrect and/or inefficient functionality, the software incorporating the software units may create user dissatisfaction, and incorrect functionality/maintenance requirements can result in an increased total cost of ownership for the software.